@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
34 lines • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.adminLoyaltyPointsRouteMiddlewares = exports.loyaltyPointsDTO = void 0;
const framework_1 = require("@medusajs/framework");
const zod_1 = require("zod");
// DTOs
exports.loyaltyPointsDTO = zod_1.z.object({
points: zod_1.z.number().int().gt(0, "Points must be a positive integer"),
type: zod_1.z.enum(["credit", "debit"], {
errorMap: () => ({
message: "Type must be either 'credit' or 'debit'",
}),
}),
reference_type: zod_1.z.enum(["order", "referral", "manual"]).default("manual"),
description: zod_1.z.string().optional(),
expiry_days: zod_1.z.number().optional(),
metadata: zod_1.z.any().optional(),
notes: zod_1.z.record(zod_1.z.array(zod_1.z.string())),
});
// Middleware routes
exports.adminLoyaltyPointsRouteMiddlewares = [
{
matcher: "/admin/loyalty-points/:customer_id",
method: "POST",
// middlewares: [createValidationMiddleware(loyaltyPointsDTO)],
middlewares: [(0, framework_1.validateAndTransformBody)(exports.loyaltyPointsDTO)],
},
{
matcher: "/admin/loyalty-points/:customer_id",
method: "GET",
middlewares: [],
},
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvYWRtaW4vbG95YWx0eS1wb2ludHMvW2lkXS9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRjtBQUNoRiw2QkFBd0I7QUFvQnhCLE9BQU87QUFDTSxRQUFBLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLG1DQUFtQyxDQUFDO0lBQ25FLElBQUksRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQ2hDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxFQUFFLHlDQUF5QztTQUNuRCxDQUFDO0tBQ0gsQ0FBQztJQUNGLGNBQWMsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDekUsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztDQUNyQyxDQUFDLENBQUM7QUFJSCxvQkFBb0I7QUFDUCxRQUFBLGtDQUFrQyxHQUFzQjtJQUNuRTtRQUNFLE9BQU8sRUFBRSxvQ0FBb0M7UUFDN0MsTUFBTSxFQUFFLE1BQU07UUFDZCwrREFBK0Q7UUFDL0QsV0FBVyxFQUFFLENBQUMsSUFBQSxvQ0FBd0IsRUFBQyx3QkFBZ0IsQ0FBQyxDQUFDO0tBQzFEO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsb0NBQW9DO1FBQzdDLE1BQU0sRUFBRSxLQUFLO1FBQ2IsV0FBVyxFQUFFLEVBQUU7S0FDaEI7Q0FDRixDQUFDIn0=